Re: [sfc] Loop detection in service chains - question on draft-boucadair-sfc-requirements

<mohamed.boucadair@orange.com> Fri, 28 March 2014 10:47 UTC

Return-Path: <mohamed.boucadair@orange.com>
X-Original-To: sfc@ietfa.amsl.com
Delivered-To: sfc@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C1CBA1A04A7 for <sfc@ietfa.amsl.com>; Fri, 28 Mar 2014 03:47:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.548
X-Spam-Level:
X-Spam-Status: No, score=-1.548 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, HELO_EQ_FR=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ck3ZJmuDHqYR for <sfc@ietfa.amsl.com>; Fri, 28 Mar 2014 03:47:10 -0700 (PDT)
Received: from relais-inet.francetelecom.com (relais-ias92.francetelecom.com [193.251.215.92]) by ietfa.amsl.com (Postfix) with ESMTP id C46A81A04CD for <sfc@ietf.org>; Fri, 28 Mar 2014 03:47:09 -0700 (PDT)
Received: from omfedm05.si.francetelecom.fr (unknown [xx.xx.xx.1]) by omfedm12.si.francetelecom.fr (ESMTP service) with ESMTP id CC80118C5B2; Fri, 28 Mar 2014 11:47:06 +0100 (CET)
Received: from PUEXCH11.nanterre.francetelecom.fr (unknown [10.101.44.27]) by omfedm05.si.francetelecom.fr (ESMTP service) with ESMTP id AA4BF35C045; Fri, 28 Mar 2014 11:47:06 +0100 (CET)
Received: from PUEXCB1B.nanterre.francetelecom.fr ([10.101.44.11]) by PUEXCH11.nanterre.francetelecom.fr ([10.101.44.27]) with mapi; Fri, 28 Mar 2014 11:47:06 +0100
From: mohamed.boucadair@orange.com
To: Ben Wright <Ben.Wright@metaswitch.com>, Ron Parker <Ron_Parker@affirmednetworks.com>, "Jim Guichard (jguichar)" <jguichar@cisco.com>, "draft-boucadair-sfc-requirements@tools.ietf.org" <draft-boucadair-sfc-requirements@tools.ietf.org>
Date: Fri, 28 Mar 2014 11:47:05 +0100
Thread-Topic: [sfc] Loop detection in service chains - question on draft-boucadair-sfc-requirements
Thread-Index: AQHPSPtNSkZ+x/Xw+EyMHoOE4zy+LJrzag2AgAABMwCAAR/XkIAALDZAgAGarIA=
Message-ID: <94C682931C08B048B7A8645303FDC9F36F54484371@PUEXCB1B.nanterre.francetelecom.fr>
References: <B3B6FD81D3159A45B5421AF9DD500F88D6F84A36@ENFICSMBX1.datcon.co.uk> <CF585472.1E533%jguichar@cisco.com> <CDF2F015F4429F458815ED2A6C2B6B0B1A7E6532@MBX021-W3-CA-2.exch021.domain.local> <B3B6FD81D3159A45B5421AF9DD500F88D6F84B7F@ENFICSMBX1.datcon.co.uk> <94C682931C08B048B7A8645303FDC9F36F54483E67@PUEXCB1B.nanterre.francetelecom.fr> <B3B6FD81D3159A45B5421AF9DD500F88D6F853C8@ENFICSMBX1.datcon.co.uk>
In-Reply-To: <B3B6FD81D3159A45B5421AF9DD500F88D6F853C8@ENFICSMBX1.datcon.co.uk>
Accept-Language: fr-FR
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: fr-FR
Content-Type: multipart/alternative; boundary="_000_94C682931C08B048B7A8645303FDC9F36F54484371PUEXCB1Bnante_"
MIME-Version: 1.0
X-PMX-Version: 6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2014.3.28.54219
Archived-At: http://mailarchive.ietf.org/arch/msg/sfc/ztn50HxgJQLFo8ZJhOEFeE5npGo
Cc: "sfc@ietf.org" <sfc@ietf.org>
Subject: Re: [sfc] Loop detection in service chains - question on draft-boucadair-sfc-requirements
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Network Service Chaining <sfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sfc>, <mailto:sfc-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sfc/>
List-Post: <mailto:sfc@ietf.org>
List-Help: <mailto:sfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sfc>, <mailto:sfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Mar 2014 10:47:14 -0000

Dear Ben,

Ok to remove "A". I suggest to change  "Service Function Loops" to "infinite Service Function Loops"

Cheers,
Med


De : Ben Wright [mailto:Ben.Wright@metaswitch.com]
Envoyé : jeudi 27 mars 2014 11:10
À : BOUCADAIR Mohamed IMT/OLN; Ron Parker; Jim Guichard (jguichar); draft-boucadair-sfc-requirements@tools.ietf.org
Cc : sfc@ietf.org
Objet : RE: [sfc] Loop detection in service chains - question on draft-boucadair-sfc-requirements

Hi Med,

Thanks for drafting that.  To be clear, I'd be happy to drop option A to allow loop prevention to be configurable.   For me, the key point is to clarify that SF spirals are allowed, even though loops (with data forwarded indefinitely) most definitely are not.

As other folks have pointed out, each of the various solutions provides a mechanism to support this requirement.

Cheers,

Ben


From: mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com> [mailto:mohamed.boucadair@orange.com]
Sent: 27 March 2014 07:35
To: Ben Wright; Ron Parker; Jim Guichard (jguichar); draft-boucadair-sfc-requirements@tools.ietf.org<mailto:draft-boucadair-sfc-requirements@tools.ietf.org>
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: RE: [sfc] Loop detection in service chains - question on draft-boucadair-sfc-requirements

Dear Ben,

What about this proposal?

   REQ#25:  The solution MUST prevent Service Function Loops.

            A.  Relaxing this capability SHOULD be configurable.
            B.  Service Functions MAY be invoked multiple times in the
                same Service Function Chain (denoted as SF Spiral), but
                the solution MUST prevent forwarding loops.

The motivation for this wording is to call out the core functionality (that is loop detection) and allow for some exceptions where the functionality is disabled for some specific deployments.

Cheers,
Med

De : sfc [mailto:sfc-bounces@ietf.org] De la part de Ben Wright
Envoyé : mercredi 26 mars 2014 15:22
À : Ron Parker; Jim Guichard (jguichar); draft-boucadair-sfc-requirements@tools.ietf.org<mailto:draft-boucadair-sfc-requirements@tools.ietf.org>
Cc : sfc@ietf.org<mailto:sfc@ietf.org>
Objet : Re: [sfc] Loop detection in service chains - question on draft-boucadair-sfc-requirements

Hi Jim, Med, Ron,

Thanks for your prompt responses.   I think we're in agreement - spiral paths may be required, but we need to have a mechanism to prevent loops forming.   My reading of REQ#25 was that it disallowed spiral paths.  Given this, how do you feel about us tweaking the text for that requirement to something like:

REQ#25:  Service Functions MAY appear be invoked multiple times in the same Service Function Chain (in a spiral), but the solution MUST prevent Service Function loops.

As Jim and Ron say, we have mechanisms which meet this requirement.

Cheers,

Ben


From: Ron Parker [mailto:Ron_Parker@affirmednetworks.com]
Sent: 26 March 2014 14:17
To: Jim Guichard (jguichar); Ben Wright; draft-boucadair-sfc-requirements@tools.ietf.org<mailto:draft-boucadair-sfc-requirements@tools.ietf.org>
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: RE: [sfc] Loop detection in service chains - question on draft-boucadair-sfc-requirements

Thanks, Jim.

I'll point out that there is a second take on the SFC service header which is also consistent in its treatment of the SF path and SF index (full disclosure - I am a co-author).

http://datatracker.ietf.org/doc/draft-zhang-sfc-sch/


     Ron



From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of Jim Guichard (jguichar)
Sent: Wednesday, March 26, 2014 9:57 AM
To: Ben Wright; draft-boucadair-sfc-requirements@tools.ietf.org<mailto:draft-boucadair-sfc-requirements@tools.ietf.org>
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: Re: [sfc] Loop detection in service chains - question on draft-boucadair-sfc-requirements

Hi Ben,

Yes, this is most certainly a requirement. I would suggest looking at draft-quinn-sfc-nsh for a description of how the service path ID + service index are used to determine where in the service chain the packet is currently and how the index is decremented at each service hop to facilitate both service hop awareness and loop detection within the service graph.

From: Ben Wright <Ben.Wright@metaswitch.com<mailto:Ben.Wright@metaswitch.com>>
Date: Wednesday, March 26, 2014 at 8:21 AM
To: "draft-boucadair-sfc-requirements@tools.ietf.org<mailto:draft-boucadair-sfc-requirements@tools.ietf.org>" <draft-boucadair-sfc-requirements@tools.ietf.org<mailto:draft-boucadair-sfc-requirements@tools.ietf.org>>
Cc: "sfc@ietf.org<mailto:sfc@ietf.org>" <sfc@ietf.org<mailto:sfc@ietf.org>>
Subject: [sfc] Loop detection in service chains - question on draft-boucadair-sfc-requirements

Hi,

I'd like to get your input and that of the WG on Loop Detection within a service chain.

draft-boucadair-sfc-requirements explicitly forbids the same SF from appearing in a given SFC (Req #25), to prevent loops forming.   Other drafts allow this - e.g. draft-quinn-sfc-arch: "A given SF can appear one time or multiple times in a given SFC".

I can see that there might be use cases for which it is advantageous to have the same SF appear more than once in SFC.   Would it be acceptable to allow this but use, for example, a TTL-based mechanism to prevent any loops from being long-lived?

Apologies if this has been raised before on the list and I've missed it.

Thanks,

Ben